home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-09-19 | 8.4 KB | 183 lines | [TEXT/MPS ] |
- int idflag;
-
- #define EmptyNode tree1(N_Empty)
-
- #define Alt(x1,x2,x3) $$ = tree4(N_Alt,x2,x1,x3)
- #define Apply(x1,x2,x3) $$ = tree4(N_Apply,x2,x1,x3)
- #define Arglist1() /* empty */
- #define Arglist2(x) /* empty */
- #define Arglist3(x1,x2,x3) proc_lst->nargs = -proc_lst->nargs
- #define Bact(x1,x2,x3) $$ = tree5(N_Activat,x2,x2,x1,x3)
- #define Bamper(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bassgn(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Baugact(x1,x2,x3) $$ = tree5(N_Activat,x2,x2,x1,x3)
- #define Baugamper(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Baugcat(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Baugeq(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Baugeqv(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Baugge(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Bauggt(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Bauglcat(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Baugle(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Bauglt(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Baugne(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Baugneqv(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Baugques(x1,x2,x3) $$ = tree5(N_Scan,x2,x2,x1,x3)
- #define Baugseq(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Baugsge(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Baugsgt(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Baugsle(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Baugslt(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Baugsne(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Bcaret(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bcareta(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Bcat(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bdiff(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bdiffa(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Beq(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Beqv(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bge(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bgt(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Binter(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bintera(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Blcat(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Ble(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Blim(x1,x2,x3) $$ = tree4(N_Limit,x2,x1,x3)
- #define Blt(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bminus(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bminusa(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Bmod(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bmoda(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Bne(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bneqv(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bplus(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bplusa(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Bques(x1,x2,x3) $$ = tree5(N_Scan,x2,x2,x1,x3)
- #define Brace(x1,x2,x3) $$ = x2
- #define Brack(x1,x2,x3) $$ = list_nd(x1,x2)
- #define Brassgn(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Break(x1,x2) $$ = tree3(N_Break,x1,x2)
- #define Brswap(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bseq(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bsge(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bsgt(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bslash(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bslasha(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Bsle(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bslt(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bsne(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bstar(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bstara(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Bswap(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Bunion(x1,x2,x3) $$ = binary_nd(x2,x1,x3)
- #define Buniona(x1,x2,x3) $$ = aug_nd(x2,x1,x3)
- #define Case(x1,x2,x3,x4,x5,x6) $$ = case_nd(x1,x2,x5)
- #define Caselist(x1,x2,x3) $$ = tree4(N_Clist,x2,x1,x3)
- #define Cclause0(x1,x2,x3) $$ = tree4(N_Ccls,x2,x1,x3)
- #define Cclause1(x1,x2,x3) $$ = tree4(N_Ccls,x2,x1,x3)
- #define Cliter(x) CSym0(x) = putlit(Str0(x),F_CsetLit,(int)Val1(x))
- #define Colon(x) $$ = x
- #define Compound(x1,x2,x3) $$ = tree4(N_Slist,x2,x1,x3)
- #define Create(x1,x2) $$ = tree3(N_Create,x1,x2);\
- proc_lst->has_coexpr = 1;
- #define Dynamic(x) idflag = F_Dynamic
- #define Elst0(x) $$ = x;
- #define Elst1(x1,x2,x3) $$ = tree4(N_Elist,x2,x1,x3);
- #define Every0(x1,x2) $$ = tree5(N_Loop,x1,x1,x2,EmptyNode)
- #define Every1(x1,x2,x3,x4) $$ = tree5(N_Loop,x1,x1,x2,x4)
- #define Fail(x) $$ = tree4(N_Ret,x,x,EmptyNode)
- #define Field(x1,x2,x3) $$ = tree4(N_Field,x2,x1,x3)
- #define Global0(x) idflag = F_Global
- #define Global1(x1,x2,x3) /* empty */
- #define Globdcl(x) /* empty */
- #define Ident(x) install(Str0(x),idflag)
- #define Idlist(x1,x2,x3) install(Str0(x3),idflag)
- #define If0(x1,x2,x3,x4) $$ = tree5(N_If,x1,x2,x4,EmptyNode)
- #define If1(x1,x2,x3,x4,x5,x6) $$ = tree5(N_If,x1,x2,x4,x6)
- #define Iliter(x) CSym0(x) = putlit(Str0(x),F_IntLit,0)
- #define Initial1() $$ = EmptyNode
- #define Initial2(x1,x2,x3) $$ = x2
- #define Invocdcl(x) /* empty */
- #define Invocable(x1,x2) /* empty */
- #define Invoclist(x1,x2, x3) /* empty */
- #define Invocop1(x) invoc_grp(Str0(x));
- #define Invocop2(x) invocbl(x, -1);
- #define Invocop3(x1,x2,x3) invocbl(x1, atoi(Str0(x3)));
- #define Invoke(x1,x2,x3,x4) $$ = invk_nd(x2,x1,x3)
- #define Keyword(x1,x2) $$ = key_leaf(x1,Str0(x2))
- #define Kfail(x1,x2) $$ = key_leaf(x1,spec_str("fail"))
- #define Link(x1,x2) /* empty */
- #define Linkdcl(x) /* empty */
- #define Lnkfile1(x) lnkdcl(Str0(x));
- #define Lnkfile2(x) lnkdcl(Str0(x));
- #define Lnklist(x1,x2,x3) /* empty */
- #define Local(x) idflag = F_Dynamic
- #define Locals1() /* empty */
- #define Locals2(x1,x2,x3,x4) /* empty */
- #define Mcolon(x) $$ = x
- #define Nexpr() $$ = EmptyNode
- #define Next(x) $$ = tree2(N_Next,x)
- #define Paren(x1,x2,x3) if ((x2)->n_type == N_Elist)\
- $$ = invk_nd(x1,EmptyNode,x2);\
- else\
- $$ = x2
- #define Pcolon(x) $$ = x
- #define Pdco0(x1,x2,x3) $$ = invk_nd(x2,x1,list_nd(x2,EmptyNode))
- #define Pdco1(x1,x2,x3,x4) $$ = invk_nd(x2,x1,list_nd(x2,x3))
- #define Pdcolist0(x) $$ = tree3(N_Create,x,x);\
- proc_lst->has_coexpr = 1;
- #define Pdcolist1(x1,x2,x3) $$ =tree4(N_Elist,x2,x1,tree3(N_Create,x2,x3));\
- proc_lst->has_coexpr = 1;
- #define Proc1(x1,x2,x3,x4,x5,x6) $$ = tree6(N_Proc,x1,x1,x4,x5,x6)
- #define Procbody1() $$ = EmptyNode
- #define Procbody2(x1,x2,x3) $$ = tree4(N_Slist,x2,x1,x3)
- #define Procdcl(x) proc_lst->tree = x
- #define Prochead1(x1,x2) init_proc(Str0(x2));\
- idflag = F_Argument
- #define Prochead2(x1,x2,x3,x4,x5,x6) /* empty */
- #define Progend(x1,x2) /* empty */
- #define Recdcl(x) /* empty */
- #define Record1(x1, x2) init_rec(Str0(x2));\
- idflag = F_Field
- #define Record2(x1,x2,x3,x4,x5,x6) /* empty */
- #define Repeat(x1,x2) $$ = tree5(N_Loop,x1,x1,x2,EmptyNode)
- #define Return(x1,x2) $$ = tree4(N_Ret,x1,x1,x2)
- #define Rliter(x) CSym0(x) = putlit(Str0(x),F_RealLit,0)
- #define Section(x1,x2,x3,x4,x5,x6) $$ = sect_nd(x4,x1,x3,x5)
- #define Sliter(x) CSym0(x) = putlit(Str0(x),F_StrLit,(int)Val1(x))
- #define Static(x) idflag = F_Static
- #define Subscript(x1,x2,x3,x4) $$ = buildarray(x1,x2,x3)
- #define Suspend0(x1,x2) $$ = tree5(N_Loop,x1,x1,x2,EmptyNode)
- #define Suspend1(x1,x2,x3,x4) $$ = tree5(N_Loop,x1,x1,x2,x4)
- #define To0(x1,x2,x3) $$ = to_nd(x2,x1,x3)
- #define To1(x1,x2,x3,x4,x5) $$ = toby_nd(x2,x1,x3,x5)
- #define Uat(x1,x2) $$ = tree5(N_Activat,x1,x1,EmptyNode,x2)
- #define Ubackslash(x1,x2) $$ = unary_nd(x1,x2)
- #define Ubang(x1,x2) $$ = unary_nd(x1,x2)
- #define Ubar(x1,x2) $$ = tree3(N_Bar,x2,x2)
- #define Ucaret(x1,x2) $$ = unary_nd(x1,x2)
- #define Uconcat(x1,x2) $$ = tree3(N_Bar,x2,x2)
- #define Udiff(x1,x2) $$ = MultiUnary(x1,x2)
- #define Udot(x1,x2) $$ = unary_nd(x1,x2)
- #define Uequiv(x1,x2) $$ = MultiUnary(x1,x2)
- #define Uinter(x1,x2) $$ = MultiUnary(x1,x2)
- #define Ulconcat(x1,x2) $$ = tree3(N_Bar,x2,x2)
- #define Ulexeq(x1,x2) $$ = MultiUnary(x1,x2)
- #define Ulexne(x1,x2) $$ = MultiUnary(x1,x2)
- #define Uminus(x1,x2) $$ = unary_nd(x1,x2)
- #define Unot(x1,x2) $$ = tree3(N_Not,x2,x2)
- #define Unotequiv(x1,x2) $$ = MultiUnary(x1,x2)
- #define Until0(x1,x2) $$ = tree5(N_Loop,x1,x1,x2,EmptyNode)
- #define Until1(x1,x2,x3,x4) $$ = tree5(N_Loop,x1,x1,x2,x4)
- #define Unumeq(x1,x2) $$ = unary_nd(x1,x2)
- #define Unumne(x1,x2) $$ = MultiUnary(x1,x2)
- #define Uplus(x1,x2) $$ = unary_nd(x1,x2)
- #define Uqmark(x1,x2) $$ = unary_nd(x1,x2)
- #define Uslash(x1,x2) $$ = unary_nd(x1,x2)
- #define Ustar(x1,x2) $$ = unary_nd(x1,x2)
- #define Utilde(x1,x2) $$ = unary_nd(x1,x2)
- #define Uunion(x1,x2) $$ = MultiUnary(x1,x2)
- #define Var(x) LSym0(x) = putloc(Str0(x),0)
- #define While0(x1,x2) $$ = tree5(N_Loop,x1,x1,x2,EmptyNode)
- #define While1(x1,x2,x3,x4) $$ = tree5(N_Loop,x1,x1,x2,x4)
-